<script>
    // 获取用户 encryptkey

            // https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/user-info/internet/getUserEncryptKey.html

            /*
                一、概述 encryptKey

                            在微信小程序中， getUserEncryptkey 是微信开放能力中与 "用户敏感数据加密/解密"相关的接口，

                            主要用于获取 "用户加密密钥(encryptKey)",以便开发者解密从小程序端获取的加密敏感数据。


                      ★、核心作用

                              微信小程序为保护用户隐私，对部分敏感数据（如用户手机号、身份证信息等）采用加密传输。

                              开发者需要通过以下流程处理这类数据：

                                    1、小程序端调用相关接口（如获取手机号的 getPhoneNumber），获取到加密的敏感数据（encryptedData）和加密初始向量（iv）。

                                    2、小程序端通过 getUserEncryptKey 获取 encryptKey（加密密钥），该密钥用于解密 encryptedData。

                                    3、将 encryptedData、iv、encryptKey 发送到开发者服务器，服务器使用这些信息解密得到原始敏感数据。
            */


            /*
                一、接口说明

                            1、接口英文名

                                        getUserEncryptKey(获取用户加密密钥)

                            2、功能描述

                                    该接口用于获取用户 encryptKey.  

                                    会获取用户最近3次的key，每个key的存活事件为 3600s。
            */ 

            /*
                二、调用方式

                            1、Https调用

                                    GET https://api.weixin.qq.com/wxa/business/getuserencryptkey?access_token=ACCESS_TOKEN&signature=SIGNATURE&openid=OPENID&sig_method=SIG_METHOD

                            2、第三方调用

                                    ①、调用方式以及出入参和HTTPS相同，仅是调用的token不同

                                    ②、该接口所属的权限集id为：18

                                    ③、服务商获得其中之一权限集授权后，可通过使用authorizer_access_token代商家进行调用

                            3、请求参数
                                            属性	        类型	    必填	    说明

                                    ①、access_token	       string	    是	    接口调用凭证，该参数为 URL 参数，非 Body 参数。
                                                                                使用access_token或者authorizer_access_token

                                    ②、openid	           string	    是	    用户的openid

                                    ③、signature	       string	    是	    用sessionkey作为密钥对空字符串签名得到的结果。
                                                                                session_key可通过code2Session接口获得。

                                    ④、sig_method	       string	    是	    签名方法，只支持 hmac_sha256


                            4、返回参数

                                        属性	          类型	          说明

                                    ①、errcode	        number	        错误码

                                    ②、errmsg	        string	        错误信息

                                    ③、key_info_list    array<objec>    用户最近三次的加密key列表

                                                        属性         类型         说明
                                                <1>、encrypt_key    string       加密key
                                                
                                                <2>、version        string       key的版本号

                                                <3>、expire_in      number       剩余有效时间

                                                <4>、iv             string       加密iv

                                                <5>、create_time    number       创建key的时间戳
            */

            /*
                三、调用示例

                          1、请求数据示例

                                    GET https://api.weixin.qq.com/wxa/business/getuserencryptkey?access_token=OsAoOMw4niuuVbfSxxxxxxxxxxxxxxxxxxx&signature=fefce01bfba4670c85b228e6ca2b493c90971e7c442f54fc448662eb7cd72509&openid=oGZUI0egBJY1zhBYw2KhdUfwVJJE&sig_method=hmac_sha256

                          2、返回数据示例

                                    {
                                        "errcode":0,
                                        "errmsg":"ok",
                                        "key_info_list":
                                        [
                                            {
                                                "encrypt_key":"VI6BpyrK9XH4i4AIGe86tg==",
                                                "version":10,
                                                "expire_in":3597,
                                                "iv":"6003f73ec441c386",
                                                "create_time":1616572301
                                            },
                                            {
                                                "encrypt_key":"aoUGAHltcliiL9f23oTKHA==",
                                                "version":9,
                                                "expire_in":0,
                                                "iv":"7996656384218dbb",
                                                "create_time":1616504886
                                            },
                                            {
                                                "encrypt_key":"MlZNQNnRQz3zXHHcr6A3mA==",
                                                "version":8,
                                                "expire_in":0,
                                                "iv":"58a1814f88883024",
                                                "create_time":1616488061
                                            }
                                        ]
                                    }

                          3、错误码

                                    错误码	    错误描述	                                                 解决方案
                                    
                                    40001	invalid credential  access_token isinvalid or not latest	获取 access_token 时 AppSecret 错误，或者 access_token 无效。
                                                                                                        请开发者认真比对 AppSecret 的正确性，或查看是否正在为恰当的公众号调用接口  
            */
</script>